// src/main/java/org/csu/mybigpro/service/impl/CourseServiceImpl.java
package org.csu.mybigpro.service.impl;

import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.csu.mybigpro.domain.Course;
import org.csu.mybigpro.persistence.CourseMapper;
import org.csu.mybigpro.service.CourseService;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

@Service
public class CourseServiceImpl extends ServiceImpl<CourseMapper, Course> implements CourseService {

    // 移除了所有其他服务的 @Autowired 注解，因为不再需要它们进行关联删除操作。
    // 如果你将来需要它们用于其他功能，请再添加回来。

    @Override
    @Transactional(rollbackFor = Exception.class)
    public boolean removeCourseAndRelationsById(Long courseId) {
        System.out.println("准备删除课程，courseId=" + courseId + " (不处理关联数据)");
        // 核心修改：只删除课程本身，不再处理其他关联数据的删除
        boolean courseRemoved = this.removeById(courseId);

        if (courseRemoved) {
            System.out.println("课程删除成功: courseId=" + courseId);
        } else {
            System.out.println("课程删除失败或课程不存在: courseId=" + courseId);
        }
        return courseRemoved;
    }
}